package org.ourgrid.broker.business.schedulerdata.executor.control;

import java.util.List;

import org.ourgrid.broker.business.schedulerdata.SchedulerData;
import org.ourgrid.common.internal.IResponseTO;

public interface SchedulerDataExecutorControlIF {
	
	public static final String ACCEPT_TRANSFER = "ACCEPT_TRANSFER";
	public static final String ADD_JOB = "ADD_JOB";
	public static final String CANCEL_TRANSFER = "CANCEL_TRANSFER";
	public static final String DISPOSE_WORKER = "DISPOSE_WORKER";
	public static final String FINISH_REQUEST = "FINISH_REQUEST";
	public static final String GET_FILE_INFO = "GET_FILE_INFO";
	public static final String GET_FILES = "GET_FILES";
	public static final String JOB_ENDED = "JOB_ENDED";
	public static final String LOGGER = "LOGGER";
	public static final String OPERATION_SUCCEED = "OPERATION_SUCCEED";
	public static final String PAUSE_REQUEST = "PAUSE_REQUEST";
	public static final String REMOTE_EXECUTE = "REMOTE_EXECUTE";
	public static final String REPORT_ACCOUNTING = "REPORT_ACCOUNTING";
	public static final String REQUEST_WORKERS = "REQUEST_WORKERS";
	public static final String RESUME_REQUEST = "RESUME_REQUEST";
	public static final String START_TRANSFER = "START_TRANSFER";
	public static final String START_WORK = "START_WORK";
	public static final String UNWANT_WORKER = "UNWANT_WORKER";
	public static final String UPDATE_SCHEDULER = "UPDATE_SCHEDULER";
	public static final String REGISTER_INTEREST_ON_WORKER = "REGISTER_INTEREST_ON_WORKER";
	public static final String RELEASE_WORKER = "RELEASE_WORKER";
	public static final String HERE_IS_JOB_STATS = "HERE_IS_JOB_STATS";
	
	public List<IResponseTO> execute(List<SchedulerData> commands);
}
